package cn.topevery.garden.entity.dto;

import com.github.dozermapper.core.OptionValue;
import com.github.dozermapper.core.util.MappingOptions;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 垃圾桶满溢信息表 DTO
 *
 * @author code-generate
 * @date 2021-08-18
 */
@Data
@MappingOptions(mapNull = OptionValue.OFF)
@ApiModel(value = "RubbishBinReportDTO", description = "垃圾桶满溢信息表 DTO")
public class RubbishBinReportDTO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

    private String deviceCode;

    @ApiModelProperty(value = "设备id")
    private Integer deviceId;

        /** 终端号,设备上设置的终端手机号，不够 12 位前面补 0 */
    @ApiModelProperty(value = "终端号,设备上设置的终端手机号，不够 12 位前面补 0")
    private String temId;

    /** 传感器 id 设备上设置的 ID 号 */
    @ApiModelProperty(value = "传感器 id 设备上设置的 ID 号")
    private Long devId;

    /** 时间 时间戳毫秒数 */
    @ApiModelProperty(value = "时间 时间戳毫秒数")
    private Long gpsTime;

    /** 经度 */
    @ApiModelProperty(value = "经度")
    private Double lng;

    /** 纬度 */
    @ApiModelProperty(value = "纬度")
    private Double lat;

    /** 垃圾高度百分比 */
    @ApiModelProperty(value = "垃圾高度百分比")
    private Integer percentage;

    /** 传感器垃圾高度 单位 CM，传感器到垃圾面高度，表示还可以容纳多 少高度的垃圾量 */
    @ApiModelProperty(value = "传感器垃圾高度 单位 CM，传感器到垃圾面高度，表示还可以容纳多 少高度的垃圾量")
    private Integer brimOverHeight;

    /** 温度 */
    @ApiModelProperty(value = "温度")
    private Integer temperature;

    /** 电压 */
    @ApiModelProperty(value = "电压")
    private Double electricity;

    /**
     * 垃圾桶状态 0：空； 1：满
     */
    public Integer full;

    /**
     * 电量 0-100
     */
    public Integer batt;

    /**
     * 信号强度
     */
    public Integer rssi;

    /**
     * 消息产生的时长
     */
    public Integer passTime;

    /**
     * 垃圾桶盖子状态 0：关盖 1：开盖
     */
    public Integer state;

    /**
     * 盖子打开角度
     */
    public Integer angle;

    /**
     * 信号质量
     */
    public Integer rsrp;

    /**
     * 信噪比
     */
    public Integer snr;

    /**
     * 上报时间
     */
    public String date;

//    @ApiModelProperty(value = "预警状态")
//    private Integer warningStatus;
//
//    @ApiModelProperty(value = "案件号")
//    private String eventCode;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime dbCreateDate;

    /**   对应t_sys_user.c_id */
    @ApiModelProperty(value = "  对应t_sys_user.c_id")
    private Integer dbCreateId;

    /** 最后更新时间 */
    @ApiModelProperty(value = "最后更新时间")
    private LocalDateTime dbLastUpdateDate;

    /**  对应t_sys_user.c_id */
    @ApiModelProperty(value = " 对应t_sys_user.c_id")
    private Integer dbLastUpdateId;

    @ApiModelProperty(value = "坐标点")
    private List<Double> point;
}
